package com.haiqi.common.utils;

import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESKeySpec;
import javax.crypto.spec.IvParameterSpec;

public class DesUtils {

    public static final String key = "Aa123456";


    //private final static String DES = "DES";
//private static final byte[] desKey;
//解密数据
    public static String decrypt(String message,String key) throws Exception {

        byte[] bytesrc =convertHexString(message);
        Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding");
        DESKeySpec desKeySpec = new DESKeySpec(key.getBytes("UTF-8"));
        SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
        SecretKey secretKey = keyFactory.generateSecret(desKeySpec);
        IvParameterSpec iv = new IvParameterSpec(key.getBytes("UTF-8"));
        cipher.init(Cipher.DECRYPT_MODE, secretKey, iv);
        byte[] retByte = cipher.doFinal(bytesrc);
        return new String(retByte);
    }
    public static byte[] encrypt(String message, String key)
            throws Exception {
        Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding");
        DESKeySpec desKeySpec = new DESKeySpec(key.getBytes("UTF-8"));
        SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
        SecretKey secretKey = keyFactory.generateSecret(desKeySpec);
        IvParameterSpec iv = new IvParameterSpec(key.getBytes("UTF-8"));
        cipher.init(Cipher.ENCRYPT_MODE, secretKey, iv);
        return cipher.doFinal(message.getBytes("UTF-8"));
    }
    public static String encrypt(String value){
        String result="";
        try{
            result=toHexString(encrypt(value, DesUtils.key)).toUpperCase();
        }catch(Exception ex){
            ex.printStackTrace();
            return "";
        }
        return result;
    }
    public static byte[] convertHexString(String ss)
    {
        byte digest[] = new byte[ss.length() / 2];
        for(int i = 0; i < digest.length; i++)
        {
            String byteString = ss.substring(2 * i, 2 * i + 2);
            int byteValue = Integer.parseInt(byteString, 16);
            digest[i] = (byte)byteValue;
        }
        return digest;
    }
    public static String toHexString(byte b[]) {
        StringBuffer hexString = new StringBuffer();
        for (int i = 0; i < b.length; i++) {
            String plainText = Integer.toHexString(0xff & b[i]);
            if (plainText.length() < 2)
                plainText = "0" + plainText;
            hexString.append(plainText);
        }
        return hexString.toString();
    }
    public static void main(String[] args) throws Exception {
//        String value="ESP";
//        System.out.println("加密数据:"+value);
//        System.out.println("密码为:"+"Aa123456");
//        String a=encrypt( value);
//        System.out.println(a);
//        System.out.println("加密后的数据为:"+a);

        String sc = "00E724A0E3B53131412429A0BE199775262F6A3BB3D7DB4DEB46004E56884064748C813628D6FE09C802DBE3FF42127EDC2A9CAC4E25515FF27131B28B85C7E995724B3A2E8755DA5AA08AE532E8E1B1F9E9D721316FB36A4DF262DDA4541864A7E6F0BE49F2C108B87988EC425866250E240F8D614AD9EE593F7163F88BFD4975295A85C6FBD484451DC9F9D17D7F376AB94285B770972A55BB9C112C6BB109AB6E71E5106E0E0F07A13699886CF20DA5DE48D88F694640A74BEC5FE9282C6077F8689EA6D3061C6703B9EBFF3B85094C8E4D00BB0F7456BD46E925CBD51137F7DD6833603DB650F0FA98779C316BD11C1ED6F7498B3F1D3CE02CCF0B0FFA901BE7E34B9F65D8378ADC47C3FE7E15BB991B2A66D3D9B5B53920D1EFE928B9A127C3C429558C92BB6D9BEE5E8AC7606BE896B4D560400DDC4C3410305262512658D18724C98E931879E6EDC4F313A1818F6D96A0ACC74FA6CF8727BDEFD9803722640289B986615581D49C041E795D8AC63D7E2F28E3A6020E6AADCF9B8C1B12720BAC503263D7C055543E75B71AE1639C2F5D5348B88471834D81D0DD778662EE812B9D2DF418A855918035297C7D4371F2F916F33FEE3B217A5AB64471C246B0996B71D186FDC2F5D112609FF4583DF80E3D4B89112C0EB4615679D3E43953DD7985CBB942DFFCABE11934C3B784CFC89B86DD3757919404C596D264BF99CFDBA480C414CABC9F2A6D76FA02519966EF628AFF16A86732DFE8295B58B266CB028E83F57170D1D3E953EE8F59D74298F335CC5D27B48B04CFDA54DCE5DE185121F078995470A91314E325CC3473FFA373DCEBEE73344C120A481BB4C964B1B3CDF90FCCC251D8DB7295EA2C8704498E29F827805754BE2E2BF989DC1D9E631F8CBBA0822B179E3F9CFED512267425EF2AD40049A8351FF23469157A76D3C43F01E543210456E079B72CB262FCF9DD669038FBED1E3325DD636FB349B52DAF5CEF0258A49BA45D1DC18D682942EEC9E7D14E8A08B9D0FFED6B139367C37BB7D4DF8651F19573F15E877705E388D02B6F265670EB18226977DD2084330605F5FAAA0693711E85993C084A8570C82D7B6D107441AB3DF06CDE2EDCE4B19F809BFA0C4B580510DAFEEA353D9E92769DB8B55842F18C1BA504E05C7204D1E54CE671BF6A9D61F97ADF01EBA49A2ED76250463DC52AB6950A81B85ED0110DA96442ADD0C217FBF6A8380D2FD3ABFDF61EA9D5471AAA7BBDCB4649AEEE9D6A3BB2D9F23971131ACBC4E9C4EF7644DD25B504FBC5C7DB92C2DF1A55BD62006FB9193DAE2C410B4F9F0B0940983DE21DE0652A0D198056DF8C1A2E7FA76AA15A227C286E4B19C877C8C0F361D61847273A8A886B1EB9A52C4094AA0DFEEB494D0F69A528C79FB6F930C123D9FDF890FF91B24296B5D1CE7C77234BF631973300ADB70091B159BA3D4B902003AEDE694984B20CBDC4F8025D1EC99290B9DD55F276278FB1212D2EC436B0952C061D622D3F54297AB71919B11D97C457B1161A56E267441837AB395754455975E76329289448C646EBE8CD404EB4A14BF61B9096942C54472C9FCA665C52C9CD49AF95BB2E82FCA8CC1256877C7120A7674F7C6939CC98340788637973B9AD8E5FB198475A1F505983ECC86C386D75B2F35C5A8670FA1600834A5EFB228A5C85C0650F17EDF76598CC7AAAA4A4E8C1A5A64968ADBBB82EA052C94969F1E9525C00FAEA10DAEF847E0A33F596212F10CB428137DC7A76426EA67805DAD890E1548E5F3AAB375B17525AE33D1E0C7AF67F0862C25C5D4231A6AAFE6C083D69132E59CA4AADABCA4B01BDF50D2F78B97E231322EFFDF8BDACD152EA2DCB0A67C919F812D6FC4A06D99EEA234F674B47D2E3285A95B978415C6838BD425C4CBE70D4DD323660B0AB332B3D055A9EE9014B860F51BD780E294B549FB8D358380D92F856D261846BC2FE34228E5D21AF83AEF94920736DC0AED0FD61988BC7EBECA7F25CAFA53B754F489E2A7715B562A68B85F36696B098FFFE38A7928FB06ACA69EC40776A7AC71E050211E292756A6A5BCFA435BBA52CDD5C6A08F1F3C46CED1C210D4D22158C51C3702CE18904CEC81FA83E3DBD43DECF8FD82BCE78A71395F10705AF63A1EEF8292314292899C3C309484F9F21322F47CD0DBD4CC1D8DC0CD4E73DE1AA4140E2FAECE03050F297ACA15EA201AEF2BD0AC6DED8E4200207CE43AAA1CC44A0CE9399EC3FEE1CCF737C02C44F6D6B048967834FA4C723866C5771CAFAC6C5D77FD8543B084471C4433DAC957FB1C641FF0FB590239C9B600E2C066B74D771653B71A02C1B3CDE89A15095AA8BBB66D989100D69E2831762EAD4DF5227F9B8FAE5CFA2681A847FFDB73D51ED4CC2B86CDA96E16836B6045C4861E1E00F26DA69723CA504FAFCD828CB8DE3636F55A5BD9928081CF999F014DC347F6D62A2495ED6D87D88E9A9E5D06E734FB612F3A48B7C709C15748C0DE3DA146E7B847ADF6A6D616FB47A5465539D9EA539C413A1B7FF8D3615E798BE1C7FDEF0BB3434B26DCA09A9363AE92D759C4B0EEECF68F6F4AC6672AF17A17F424A3B358B99D132E3FFF2AE386F72107BA155FD2E7B83A4895D7D0738C36EFCA9D77ED86835CDF4C094FE36E2A667DE16D4D52C9F9B0BF2206892D8A8E0B494B0897ECA560FCE4F21472E9A6EC0331396C63335D3A3B068D88B2B54AD0283502B0895633B1D1B95224D40A3C163419DC91B757C8CE7251C121D1B5AE30B87DBEFDF0612BAB4E01AE788DF19354857C47C344AD0C6925D88FFCDADCCD74F26124B693231D6B5D35407082A80AE3FC869F8B090A6474CFB552AE8C40159145E363D21849706B58AACD2A0105877D8FAC6058066F533D2D74373A45114A32C789C4C7A066B7D824C9B3AA8B0B73A62C9F6B10718BDA0F78F623525D34E31D9A29031237F54A707D3B6E6FCEF7C498DBD5CC3CA02BDD78815EC7C4C770A25EF0C9E9F22211719571362710EF5EE6B8C7F463DF2CAB02E747C1804269D6BBEE37306D43C5A63D9F3C1AB089B0380B3612FB31B4370FA61773B448EA2734815C8AF3E7859D75B421B55007C3B3BCA1DF0ABE73FAE0A66E17841BA3DC47CF5A38D8B019953048FF981A2603A50AB44E242332039ABE2D4A79BA13938CE23CC08880AF44756E1A9275CE272AC45C1B39891EE3791AF96AF7F194D2457D3CE1967A509035E3B744DA2ADF389D7248048406DEBF318944BBA0E37FE9D07C5EBB7D77F757AABFF8A794F528AAF7B18C110DEC31EECD1E8C9FA6600659B34492E6EDE7EAE7808711DF5521A297889AE8FEDA21C7C2C0847FFC7DC99247718C0052AC5CF94B3D0B6072934175B51CB43A042BA4B4732E1FD7ED0090C7353895F410809FFA98BA39753EF9A3A80162DCA8E654EF077E3F681CD0771746D0219DB162032AF3992FA8C0BF46E6B0720137FB37845DE3149922D52CE8A5F5A1B634F7499DE26579086BA15E667BFDFF8ABA218A726E45D8772F77B858C906931E9C57C2D5EBB96144BF78D5DCC9B8DC601F435B77A0D7DBAFD5E8FA7D5F2F23882B794408687D6C62CFDB6DE9A2303D077DCA7367C9EF249D6CE17BD72430F27A40A8D70FACA4D49EA739A426CF8867BDE03E3E6EBA535C4AF69DB54677C8A1DB12C95BD7DB70C5B887C8DE6FE825550FB0642371FC10421A7BAB5FE36F4615B5118F96D19160E93897CC1EEC0DADDE395FE3721AEF3C252EA04D980E0E394E6A35137BDBCBFE91B8BCFCA76CEDD4C97ECDEBD459BA35E81465EE704951EF59B74F3499883FEB46B3035FFE2169BDF0BF04092E1537F0819ADAF62552C7C7F4B027F2D0752E1354123B332C9534830D7C57BB53758BB97C8B288383868AB2F75F4299B5943BDC201E829650A6DE0B258D078D4339FE42D0AB718721BD94B65492894534278B4D83D16B923A3F0E36EEAB1EB8D5A623A4E992E7F3FCD8A6989E29F8E9971B0E55819D5F8E59B01BA7B4EA6CEC3AA9A541E4541F0F4D9C5038B6C8A2CE9FCA82C0C3F50919D11449AB736613CDBFF641D9ADFA8B8B960D24A97C4B4CAE74F031E54A17F1F4668482C6455E1CEE9AEAAF064179A850446F239FF05B0F4EB7A7B4C6A500612DE500F901ED0C164E4557AE7CA6A21B43E33A599A8A829084FC6699CF7E60A9E9153D99B77A366876F61D067388E1DE07050A2A116D25AFE7E82F488FDBC0EEE61A1995B48DDDCE8C4EF2C73D86E99520ADD5313EB616D2453D97C6A8D538CC4804ACFB3E81827BDB989851EF5367088CBBE5A378C6396D4D49723C256652E54DC6BBD776612081E627596E90A71048D66E0F0EEBE0430322BF25E206E93991E6B0C9636E62668E5D6DE1077E11AE2C176654B52B44971A378CE136A90FEF8FB00225250D3E572F3C8935BEBDA15DADA0A83D3E17103E7CF456B44677419AE154016BBF7480A2067DC63C1DC89DC07CA8A510CE51BC562C1825943082DABBF0981F5935EFF51B6A09992B820BDAC0C82BB3912C3609EA4FAA197CF3B127283E77955C913B7F6A1FA5377F488E72A41E62FA780A65DBEBC225030EE4C5A6902EF1EFB738286C5989A24C98DF16C0B1F6F27DB7CD4CCE2A52E9A19F40AC9ED1A91D3F471082737B706F381F4DFE9F41CF033919B0EC80DFB4F71F922978BCB130F86958AC54702C8654732589BF1CF02E02E649E1A59AED0DC4957AC7A92D9ADDAA688453843AE6F9718869FC110247AE6424C8033F7F94C8831164B03D87212934D8F883C07A42E7E126A88617F0546DA15792C442E3290A487B31D9FE44AE1A246B75C25AF4067631CA7B8010C51B06A08B47E92828B0739FC2946E6FBF68F1213138EC274FE2A3C213E2D1E0E5175764BC686968AA42643944FFE59B60ABD7B85BD1646D40F5110362CEAF14F54B3D79F0C7A742BE5758CC262400B80A1C471B31F6A820CA05291D5290CC29CF364A5908DB2C8E3CE7867E378321D2B33D8A8E0C9DFFE6D3A4F52DED7CFDF9632AE7539A85370B244D9652BE90AC23C4D0A0EAAA9B947D9E42DC4261E85FAD84EF2076FBE8779DA39DD95A4E18ED7A629841D30BCFB6FAEF254610B1BD8F5BB172052105D08DE5B923F468876D0A2214EA1BA1B8C6C1B64E3E910C48E1AECF1375412890AFE8401A30AA6E9F0D0811469DFD23770E246E3AEEE492FB1B03594A1460BB694509B9A34B2E388752CE4FB9CC99E6B46630919B451D7B275A5BC85C0EE383E048B024DF213D15B1C631255D047A654C170F3689395257FD08FDD2CD66DF6CE50626013BBE2BAB73840E33938AE80DC3B255F5D0AE63A0B8040850313FBA96F5404D4A7F8E0D180B9AD8487FB5177697BE10AD7E078ED2A4B6897BEF4BC1E79F2DB68B713A2E922638FB886265AC8847DCE16EEC4D8543F26CB10A22AD01C2F93515E85733FCD32C87D3EA008BC12388EA366CAA5F8DDC5FDDD1246B41D3EEE0607D63B4E381356E04F0D02D2165551CCEBB27CF7AC97FA0D4537F7B85984C83F95B08A2AD2D1F51D1F1A9854E1A4BDA062BB9ABA52680F75BFD530172A3F99C7F3BBAD171DFF771AAE5DC076C797F0D24E76D07B15019CDC0A9B84798CCAD81C1348D24DAB3ACC1EA7F23D89E597F809600C49D9C83BCEA34FED059D1C4B763FAACF40FED5CAE1E8EBB41F555AED3FF6BF7EA646408E5388503AB779E39333D5BB3FD2C3ABAE40B9AE10305F9E610E186FBF186901DF00106FE7C7508EDB0EB40D019526535A6163B3D3505BCB0A689596378DFB9C0BC6CA841B3C4B28491140AD2D9AD1FF28E3CA7060A6E64B66DE00D9A66420FB6D4849DB11B283B20339F95E32B36F8BC20AAD78CF805AFC20330DC586A042C20818453C88559F12D9F811D0BCA2C0C2FE223B8E4E0F67A813C49616C97B23F682A5A944A99CFB42121AD0D280DA8B56094D2762284E8A3740C53D83F8F72E0EBD9A34A6BD0AF47792FBD67AC8823FC449B3BB3A511D8C1E06D6B43AC3620AF72E34ACC0CD9A75ECC171B8E9BCFC2BA4741698BFEFE31881838B7FBB873B797AC3E687308E49DEBBE14EC6A19E369FF626A423CA36B6C5A97F86BFF045FCF641B84A1AFCD49FC9ED804868FB41E8EA952DB1833B2A1A3E605A9C98DC5539F075F6093F73BDBD0A949B8345DDA3B55FC0D14ED1DB7DB5DFF33B768F808EB11A3954C186742CD754C7AC4DBB0A60652B749204716E0F77A34DF9730045303795760365961597CA17F423561D2FBA5746192D1403D3EA4C046BD62CBB79A0DA9C8215F31BFF49BF0FF501E365A783443C5857B7B6CE49ECC632591319D47BC0BB517E578585A3A4788014E6BEBD1697C321086553432B8E38E684DBBE2D9271B8F7A83C2473493D94CFE48022FAC9A0479A58A45C6859AE01F8BD66B53481896910AAD2A11E1913A1FAF078C569198DFD5D0F4AE4537068956E039C3A46AE6405EB7E4421A31EB98FED30F51867533B9CC17FE7939C643FD4971070D1B29A4437D50D6A7F2DB14F9AB88A922307DDE3F4FA8D89C26D646F5C431A1095A4C006CDA4B134DE36D712C2258DAD11EE21310E1686BBCD3CE56E261ED371925B39C8815BA3D5A2BABF23AFB0B16D709EA175B379A5A7B43BE6A804054295662908BADDA9CC04B2CAFDF11476D2AA2B495CF1EC10C81F9F885AA2B2189F387C9B12F1D55D0EE1999EC15B761689ACF6C9587B1C06131566A4270234846B80D67E1FB968BBD53209433CF88C0071C5CC11E109F8580A0ABD24FD1E4676A5D5A4FB83BC275336ED7991715616C8C2F61970F3C54DC535A72B24223BCFB8C24C06FE5C24F917A3CBAAEE79E991971D89FFAF21744CE300B0ADE529AF7D5F6AF18A6A58571B68A6D19F4868B7F6702A863F74DABF17F5CD5882204CE3CDDDDDFBBA4A5B84B0FDAF9319DD1B8D907AFCFE640A6BC75E24EEEB879774B8BDC78A8E2DCE40AEC2EEC7F8EA44C6B5AD7D8B07746DA62689BAB2F32CBB35495C7017336CFAAA87B6840F02731914AD062EC3656BAA99FB41480368B811676582F7FE415A2FA4182536E71ED7EAE89A7B54C6C0B6C1F4814BCAE293C2541BB8B37FAD7C1137701D1B19A86D7E0D6D77C2DF1968072E63FDB2A6BD021B3B91E673E8616D999D7DDA2CC823F2C18F96C455840A734BE757EEDA5786EAFC3B78B5EBB9ABEA7C19FCB0377D71A85A645C74D55D0491758B484ABE715FE0DD5E8F4E0BFD902E81C201A0C71159B644C5314BEF18C5A99BCCAD0F6142ECF76888F52796700BCB49A3CCB610D3467E003545ED8FE00215B0ACA8A08670EDD0EDD08E8A92B7D0395F5E0D86618D1DA1B0EC64ED36A03D4ACE87B8DD35A7E20596B0F685C2DC236DF8E231AEBEA04B30A0459560A3EB1A85E38A42AACE48A676985F67B5242DFB09E925BAD53090538ECF4FD4378BAD7EFB783DCA9E640250C27A8E392CBAE8F9CF6E59FE37B70FBCDCC2478B6585404F09C4A8676BF648A1A16F236F5D32B665DF3D7D949540B20E9481D56EF6718445159003DEEBD82F0FC3E88521D0BD0245EEA907F84322753B146AD5F943B0C7FC6C7AEBE4204BEBC3FB2309FB6956D18662B591B231DE0E73B513902803EC1605896249979C6F9DCAA968A90803ACE9962A4D06193779B0A6903FA22D25D3AD767FF95DBCF1FD3FCB8C9238564EC34849F9B64E3304D62F334B1CCF1E6364EC2AC914FA9BECC16356AFFFC51F34AC3FFC225CC16FAB93BC37A70BF5CB4D98A62AAAF28BCF282FA629AD45A3A345653F874C49E4E197E4FE9EE1CCECC089CE6428CAAEF75D42D0E4D0BC2DB69F1E3747D7B2027AE811C529ED77A5EBA09D875B5FCA713CA38CA9C05D971816D02A32B4206AC08374A5A866A17D8F591B5994DFD15F4846F63424F279A83630388942660A3C6A0EFCB576033F61291888F02E189BAE8BFD71D3E20EB8D0657666B739E2F1CE879D873D497B6F1B48705E29474A5B6288C9179309D27ACD2DC53A2235596BA63841B76D93E37C848E88E22AE94ECC1CE01117B5A6FEBD7A8FC4548130017516A21E715E842EBA1313F1B2CE640DAA1C52368F7362D59437E634B09A28891225962C39537F927A7D548C8ECAE7C80537891B89C5CDE77A7D17332A38B03DDEA515AC2D8DEF32774B574F406DE1C724CC777C86053B3F3C0B24C12F6D5201974D56DCD77EA2EDCE249F44D510FB4208845F8DBBD4EE0BAD71EBC9B2B8E5657B345E1A30A007B297525096253A3A9D241C6714BD585728E8699132BFC563272731F555CC529B27C2033BA96D435AC6C21D436931207FEA0C6CB02310DB596376F842601367B38AFD49BF808464540FD814DC8C0FD9EB84771C4C71AC417419B5B2F7AF62FD9B6A19CCDAD3D730C64541966AC4BBE833306DEE11F27B4A14AF3E06A7CDE6F80B006288E098699268954B26B9ACF873F96B902291DF60129AF48DCFF2AE3C10D7B3A1A6096EF6CC0BB526B8625841773F8AC8DFFEA34924276CE6604BAD5642AD6C8A7F01FF3A9BDA0439F489FBEF72D40846DE59A8FA9F0AB037FEE5712DA5CD619B3CECEEB827FB30F82B31628CB85F81425132A1E874AF15075E945FBD96B301F63167FB4012FFA87519C332BCA065A15C396C303338CD18F9ADCA958331DA607D27800B3C2D64986AA9AD8A0E99F73AC033BA73A57B4DBA41A7C6D424EED35F308890090F221E90B95F801EA1AAA1333EC9A8525E4356643474DF449FB612DECB576F5070452FFF9F1D98C42471AB5071643BFC83EF514D369BDBC12ADC1A6ACA79B6CF01B624FE0B4B55E251B86DB98D9E2883C916357243643F7BE8B2584F22D8E44DC4A64913EDA234E9FBAB0957995CC4D185199961179B721D2AB2517BD24BD5C8284051FE1DB8097B7DD78F9BF308BE007FA5C15DCBDFC6F3CE808E0EAD9736DD221998C79FFA9BEFBEA59295E979A9FBD302B16580095761B526CE3E5255D01E172EA55D12E5A729AF98C55355636A2B358EE7DE3D9D5C22AFDFC7C21B59A612D11C4365F8CBAED58FEA36A4420645C6F2FF897579661A47BCE3CC05C2D899EE349DA15E7F35F8F43DF3B5394AF14732EBE6BA3F8B7D4E17CB813F0E05E7A88BA4B13ED3F156B114CCC0C8879701139D4CCE69E534FD8F4933337E4252B6BAACA00660BE7ACE4CB944FB6384E04BACC7D17478A5EE886B017C5A873EED75A7A2FDE8EDF9163B4894331AB861ECFFC8CA5F1B8B6EFD6A994A4C4DD33BDF8C8525ED6FE7E12504ECCE7231590609FA017DEE21ED453E35236A7230019F0F79B9AB4762189CCAA886993317BAD88491E1949AEB3DB2CBACDED8F923C6CEA40A4BA95641F11605C6FF6E703F4F3BE47A05AF2B6B6F8A4AB15BF731810B5599AF7C308FC808014B4CE06044F914A3ADFD3D42A8ACA1C8BDFFBCA8AC8105B74B1C6DB657B555C2F168A97D38A918DB48E3A8F9C49C86E7CA87B591C89EFAA779FEC60424A30B28D07BB3918DEAFFC243B29F558B169CFB19F905C384761B8ECA4102122B9D50FE8BDDF1D2920C9773D4A0CFFC8F647AB0978529D59AB573457B8C8D4D170A65B85516937BE18BD661DC38B623E73EE5EAD83519F6BA5DC4194C4DEAC60AFC6F6481DECD068ECCF5AE7CA2D517DA5B1AC05D25DB8144375F486C7F149A77C462298F3DABC56409E4C7F2553DB4F31DFC2F6684F54587095940D22931ADE5F3D6F7F01D0A79DE1A6E1D4D6354EFCBA82A32FA56D03D9CC65EF642BBE66299F3007DAA14A87CDD31DCEAE8EEE245BC9DAC23F8BBEABAB9EF5E9C45E527C09755F98BDF7B5670999D538835401C3D9906B396DE62B4A2C456CF7E38FB191E2671C02A69BDB72E10F3371FBC4585D58C4F2E7FC8B7AC7930DA86CD98E37CFDD726AFF06FEF5F3E12624A6BFE667175CD8035AB40DFF9A8FC2A9BC0B3432A28FCC0F045795C3F90433A36403D5FD61C0CF6AA7C113FE1A7595566F94580F91CAD5FA22492836346B1842CDBE98A6D389A9CC2C4848C5805E213061A81230E8AF24185B2F5FB08982D6CE19EC7F77B2008867874086DF5BCE6FAB3937B0CC6FD395960D0A542C3C385490E3C0EC43FB212FAD2F86764FC3A8FE3975B66147B115A63402E38F9A9A878D69CF1DD96AF172A14F7F498A972885B6084461C9373627F91170488F0C043FAA1D8C8BB98764AD3FCA79EEB6D7FB656DDD8B438CE5ED878217627885BA0BAD56391B8E370AA0FC1898B9ECF972AD97F8F675D2995C1B7A66F53FEC94403D18A0D090B1FB869307E8280410A8B7FAE12A259DAA077A8A268362B506612575692102ED51B90FBCBA5735D2AF01A2FCDE018FA92731292C50C63F5F36EA103CFCF804EF080F20D7C19578367C3953174CB369A2239DB6276DD686BF8A08840760C38E399B4CF70DBDCC000A0298A929A2C82867102F7A50E0E133053868B3E5CAFBAE0FD9E588AA5624F3658D4DA35325F94F7CCA601B31D842E40D162A6165D22AD28891E48F490B7D1BBD0AA09CA87A3909A75F485825BA9155CB4144DFDF0DC26942BE13AC82D828D6352A28453D513A71B4BA0C5185C632255AF4E981455BD695266FBB57E41101F4348E0DE21A8AB9F570FD39239B4DE7CCCEA08CBBF34D50DF0039B15421C6ABED16D5389E9F3180A268A8D8DC3CE251048D771B5F3027880A3B75E9052E173988405D913A5128AFFF14F480EB2EA16908A009FAA68047347EA4AC3514E00E17AB3AE2DA1461F37831BC627D9A239400852B1C7C6B649AE9D9B2ADFE8130D45A082542C03BC6947E5BC62246E608E029851F093C4423D146E911D19C3FD5A15B3446E7134CC8D01403E9A6A9764ED1010F944288D89C09EF6EA4C75551873317B87BD10168878239FB77B68A9036EADD817C3A00B8B965E749F8E97C2F3D3DDADBC2108ECB31DDA5AB580FE13E9635841AF44165C5D5A2577A05C00823444A64213D566EFAAB38AC901AC20685081C1453077C29A7E728DDD0244F95EB7508C7A3C494456AF800C996EA58406C488A91E92AF38734ADAC1686B884B845C21B2E1D3773D327FCAEB7B18110F1F4B0F846BCF0EBFF62BFC289A1BF1BE6B6E8FB62F6F1AEF89C688A31C5AB7027CAF9DFE9A1417EB7DC4B6E948DEA031B913FC3AC23799A0DA2105283C9C9E67AF204E4844279D82179D6871C8B0C7EE19F596B902647B422CA52EFB4F3C46FB870F2506E5ECEAA94992DB8F324B783A0ABF3397E025135A127F9AC7BFF8BA8E890E597EAD8504F67C5D93F1AF894C255033ADDA64D910AB2BB0E69FF41603B762FBCC8D41D018C00185E29226531A9F73D258E49B53AA9CE57F91C770D478B6A0B6C65D8DC0D90686E6AAFDF8510E572E28B2964DC007431A9669579B0252B09D893DD01D9A51C83AAC81A14C99B388AD9D81F1D5F3B6B31E344F891894C5203FBF987D106DF9A65095E71852777DAEFF30AA3694E239F82B7EA68227F6BB9DD466C2FD38785948D73920DADFD4D58991E44A4A9B8D89E038AE842FA728DB4C72786BD860E99011E9D0467F49228E283B96A6209CCE415DB772CC332371CE5BA54468AEB2D9F5C48B19522423E5B86AADFF4BDEB758974E67561673673F67C482555D2E80C4C882C99BED099F26A8A95ABECF1253C6F962C4CB228D8A1EEF18B030F2E54CBE6BD883A0CA68B138D136D89F5F1B7DE96DF87E01E55E58EE9AFAC84CB4B5D37EABA588BC1A89958A415EA93C699FC0E93CEFFE7A7F7F2142A2F1C4D6FD0CB95370F323815D4AFE846C489058772B1C1CEC2F402470E74B9C3A42F0F406D53EB7644503E1A6202B54CBBBC9D797577906B30E48A5F5DFA4354355E2A2BE3B196EE42049CDCCD5C3B6EFF81A73119961497B7BB8693D93BB29DAC08372B360F16344325407DE734932EA49FDFF34B50E9EEA7B88DB50C1E57908D3341D5F727C55700581E317FDE67FD131FB9D193F8603AF3ED70AC2AEC89F41CF07B745A4CDCA27A63B2A46268C8E55D8BEE1A71A3117C8BC5B9C14826D874F22C2D21305713AC592709DE5E485D40DE57A20333BF87CF03DA42354103613212275970C24E73DAC56FA2AE0AF48072154259B3C286C137020E16ABDA83D2E0203ED6C95D096162B210FAA9C6BABF95CFDEF4A5E954CED956F98D87A07146BF9D639C03A86D2B7BA0902B00A2512A7E14DF6F6F96A49F31C00113044A3232C2120B7632719FC02906B739C0FBD8B0D17B52D44FF921CDBEFE795F2ACCCF52C233C1022E349F897E075B226F21FD5E404A485E989D6CB695749179794B24F085249BEB4C0D408CC0F87D1AEC8ACDA846940BE7CA8B9693A4B183F4B52331A7124F0F4CE6DBAA1BFC26C78FFC626D9AB199598404D5B520BD7298DEAE82E8B0F71122F6107CDD69835E5CD94B15CA18CC54694539548B51C8C1335252AC524B0B87D9699FBF4C0DADBCD867E0DA2B39256483441DC7C098BC6D7F96804C33742101D7BF848C12491990C2C1F32355482FA089BCF0C7A8CC4623666303F12C4FE6BC05046E12B13AB673C10F5B4BA9D6BEEA0670695880E6DF1C5023E3610179BF922E5BC1470B087948603C6208459CF0359E4E6B630FEA12FCDF57745558972D2AD41100DC023B2869FD8961E38533B18A71691C6FCF9836FA84FC3B74C4FE8652F12B0480F02B071E768C6E865EDC369FF032336C584A718686369929C39BA860B3259FC2628FF4AF38ED67EE7FB0A167A3DB6EC2C19BF489DE7064E47B0AFCB77929E98840B9FE175DB3250E7DDD27867B687D869C9D4DB262F33B80E4D1A8FF6B1E3F8EA63194C24A4F106016E27F3344F536794AE3198E64F4CC33FCA06BFF08E64CDF1874DC86D753067C766A04953AF2D8A2C5E9541CC437446329F4ED5694A37DE2F1DC15159242DD7644D42A72087652D8F08CB5DEBF670EF84C49302125E84A7F65249AA82C07513E65EA19584EB45B169A7746B0ACD9977CAA46F02A44673E3B2ACB352425F57568556F10D21FCD7689D3AC1BAA39E8C2C461786AD059DA47779797422B1033353E14B8BC614030CA9909EE4958496C99C47F84D32C5E3D4FDA5DBEF37776CD4898C8A79CA5EE7F6D7664533C92AFDEAF0B664178BF0F8D137EF3E7AA72C6D6AD3022C61EEF070F9F93715AF4F04C6502F300A2AB9C472F2F4FD3BCD7C8DE93A490F8DC157AC0E1D86198593F9EA8E2D0E03544D8297B23CB3CF0458A161B0A71B3F351C883E87293C6F523B79859E1543D5FD0B9197493B7409D12C4479BB67965EF40350F7FC1D35BDEE0255AAF0E8D5AB04FFD991EF8A36A1E673822562AAFE182EFC2BDB0E05D2287711AC3817E4CEFFB00A41FFC34DE7ED88B96A38DFD180F42C1668BD532C329C5E93FF624F7283E3D4CE21D3FF821E4BFB48C64528AE568F964BF6E5E35596A3FF46A2D3218752C6A3ACA271F6A55BF6A87DB8F623DE1AEE0448F65C068DFF4478287B9838D434180F8BE8955758EAC4FA1844C8F454249CD4BCF539C747E02FD081DE01CB8AEA2E9ADBA2D041ADEA461854C7C0E012409B6A687C61E146E9342AF00BA4D29581EE31E6C17332A14C355AE3A4666E61F35F8CD1C9E9FD42FCBA961F8DCC794DFC0560DA8C3561E4EDF9545FFC5BCF5129BC6DA6B1FE0B55E5825A5CFD55FF40E4C12AD1397F022C009E0084293281065B4D6DD147292071CA6788C5AFCBD334D4B58C0EC6C99D226A957F7A3B015DD0F23A55B47800945EE692F412A2F559D67C7D18F59152A5B2A164CF6C49B03F98678A8BB0187A40DE15D7FCDC351B325465E6046B4AAB1714A37B1F6982F9D9030E6BC1E473EB972F41CDC4FF0D0A4ED0A423A80412E09B0F773419CC4A010D1E71C8C79673CD4F7F7FDAC4A290146D7573DE58632EB9E40712C3BDE0D5FD64220D4AE31AF6D8E8DA563C3D491C092509880D6A5E9661AE0B5260EA402C2288FA4620DD32193BD32F390C9E9A2BB79FC16720241A9975BCBD4E1BD19629A6899F46241F19CCEE14F39D2EB74D8A9AEC9006CBCA2F932C046F6653D6E219674E96154D330D29046461D2A834893EED170A28E199407F53DBFB4C420E817319A4FA6113A70724CACEE706EDFC07BC017CDC877A6FAF7490CA5963F36448E10BF7C619CA52B6AC17587B092EA9CF1B1D806EC99640750A78E010134BE013EB3B8A0CF56A651E940C5B1B1E726EBB5FFD6BBFB6EAB24D23EFF51A935192D27E647488D3B499E3159E155C3E235A724222D260823F2AA7683926ED8FE8B140E4FE3710BA9B4224ED199D91B5D08DD788397C03F6189C77A4E09469416F27B4B9CFFD97E191088AB7141130EFB1BDD4DAD98F5A534380B18803DAABA58E05B67FC70BF064A0899E0CB3FF6137204881495C85CEAFB7B10A0E30CA2B14F2F7CA8BCA52FED0D76FB76C9D765B26B227BE7B4A97191D85C3B8B9D60F7DFBB836DCFC92ADEE5F439246690AB99C540C654B8295F52A5EB668FC711C01ED2FEEF60F3E619187DEE83307B1C04A9E2DE64411A1C93DAC8760F722D9DC2EAB5DF143B6F506E0F9702B944E37AEF2058A351D919BDDD79782DA63DA8796735531283010D7F5026BCBFE4E332A2BA93C03C6715715FCC56C70DE3F5CA7B19E9155961525F1C7B8E4BB67F558D7165ADD858367CD2D582604BE8AF4E952B5CDDFF2F3C9D553C79ED07FEDADB129B06B068ED6A27A1427C70253A451BBC6D3139C83EF79603BF2E83659C99FB3DF3E479D6F8DABD5E3BE395FD69E279D59A730129A89494899535704A61DCDF2CFFB893D2B3D67B71F9429CE394A0110A33059FE061100542AA1E270A99E1A622C98BB06E0BA49537021E4C29B749CFCB9348EC64636006F26ABD087BC5EDC19A7DA6F942557A59D6FFA8D6415239D2B4A54800B720A4A9EAE327CE1EDC5A47464C0344671310D903A33B3B21295C28506083F1D30550D7C07612280BF43DFACCF86F845393A20202EFDE75C8E67E1AF49CD90F3D5F55E27C05E3C5C6D7972851E41EE6CDC80A5A6F273F5A4705733EB9478B0150FC2B3306482FF2A370C06699C5804470A806A0379B6C414A1A43188C376E9864242C27639E787CF3A538D093AEDB2C539601E168F4DC274468303103A8873A81104759E19A99B2BC2FBEB931E285E1AB72D022BFFEE4B55AA8F40F85B27E9C5DA1202B83C2B735E334A05E2D5C079B20BC6BF3E841C68CE4FF1D53B202FC59648481E010B8ADD378D35BF9D0C7BCA1ECD";
        String decrypt = decrypt(sc, DesUtils.key);
        System.out.println(decrypt);
    }
}